﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace HuaHan.WorkTicket.Domain
{
     [Table("tblEmployee")]
    public partial class Employee : BaseEntity
    {
         [Key]
        public Guid EmployeeID { get; set; }

         [Required]
         [MaxLength(20)]
       [DisplayName("员工编号")]
        public string EID { get; set; }

         [Required]
         [MaxLength(20)]
         [DisplayName("姓名")]
        public string Name { get; set; }

        [Required]
        [MaxLength(10)]
        [DisplayName("性别")]
        public string Gender { get; set; }

        [DisplayName("出生日期")]
        public DateTime Birthday { get; set; }

        [MaxLength(30)]
        [DisplayName("身份证")]
        public string IDCard { get; set; }

        
        [DisplayName("婚姻状态")]
        public bool IsMarried { get; set; }

        [MaxLength(50)]
        [DisplayName("籍贯")]
        public string Homeland { get; set; }

        [MaxLength(20)]
        [DisplayName("手机")]
        public string Mobile { get; set; }

        [MaxLength(20)]
        [DisplayName("邮编")]
        public string Zip { get; set; }

        [MaxLength(100)]
        [DisplayName("家庭住址")]
        public string Address { get; set; }

        [MaxLength(50)]
        [DisplayName("电子邮箱")]
        public string Email { get; set; }

        [MaxLength(50)]
        [DisplayName("QQ")]
        public string QQ { get; set; }

        
        [DisplayName("入职日期")]
        public DateTime? OnboardDate { get; set; }

        [DisplayName("离职日期")]
        public DateTime? FireDate { get; set; }

        [MaxLength(50)]
        [DisplayName("状态")]
        public string Status { get; set; }

        [DisplayName("基本工资")]
        public decimal BasicSalary { get; set; }

         [MaxLength(50)]
          [DisplayName("职位")]
        public string Position { get; set; }

         [MaxLength(50)]
         [DisplayName("紧急联系人")]
         public string ContactPerson { get; set; }

         [MaxLength(20)]
         [DisplayName("紧急电话")]
         public string ContactMobile { get; set; }

        public Department Department { get; set; }

         [NotMapped]
         [DisplayName("部门")]
        public string DepartmentName { get; set; }
    }
}
